package com.droowa.util;

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;

import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;

/*
 * JsonSerializer
 * JSON으로 변환할 Java Data가 원하는 형태로 변환되지 않을 경우 만드는 변환기 역할클래스
 * 1.JsonSerializer<DataType>를 extends - DataType:변환할 JavaDataType
 * 2.serialize() 를 overriding-변환 로직을 구현
 * 
 * -Domain Object클래스에 @JsonSerialize(using=JsonSerializer클래스 객체) 지정
 */
public class DateFormatJSONSerializer extends JsonSerializer <Date> {

	@Override
	public void serialize(Date value, JsonGenerator gen, SerializerProvider provider)
			throws IOException, JsonProcessingException {
		SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
		String date=sdf.format(value); //Date value ->원하는 포멧의 String(문자열)
		gen.writeString(date); //json값으로 출력-get.wirteXXX(변환한 값)
		
		
	}

	

}
